package com.terry.test3;

import java.util.Scanner;

/**
 *  分积木
 *
 * 哥哥弟弟分一堆积木，每块积木重量不同。弟弟要求平分两组，每组数量可以不同但总重量必须相等。
 * 然而弟弟只会二进制并且加法不进位。例如三块积木 3,5,6 分成两组 [3] 和 [5,6]
 * 弟弟认为 5（二进制1001）加上6（二进制1010）是0011：
 * 1001
 * 1010
 * -------
 * 0011
 * 然后 3 的二进制也是 0011，所以弟弟认为两组积木等重，接受这种分配方案。哥哥实际能分到 5+6=11 块积木。
 * 要求输出哥哥能拿的最大实际重量。如果给定的积木没法按弟弟视角分成重量相等的两组，就输出‘NO’。
 *
 * 样例 - 输入：5,6,3
 * 输出：11
 * @author 小八
 * @date 2023年02月07日17:20
 *
 *
 * 这道题乍一看，好像没有什么思路。我们先捋一捋题干。首先可以确定的是，
 * 弟弟的加法就是异或（相同为0，相异为1）运算。知道这一点，我们根据异或的特点，
 * 将所有的积木重量依次进行异或，如果结果为0，那恰恰说明了按照弟弟的逻辑，
 * 是可以进行平分的，我们只需要将积木中最轻的一块交给弟弟即可（黑心商家啊！）。
 * 如果结果不为0，证明按照弟弟的逻辑是不能平分的，不管怎么分，弟弟都会哭。
 */
public class Title1 {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String[] list = in.nextLine().split(",");
        int min  = Integer.MAX_VALUE;
        int cry  = 0;
        int total = 0;
        for(int i=0;i<list.length;i++){
           int value =  Integer.parseInt(list[i]);
           cry ^= value ;
           if(value<min){
               min = value ;
           }
           total += value ;
        }
        if(cry == 0){
            System.out.print(total-min);
        }
    }
}
